/*Scott Rogowski and Yipeng Huang*/
/*smr2167 yh2315*/

#ifndef PARAMS_H
#define PARAMS_H

#include "misc.h"

struct {
	u64 cycles;
	int verbose;

	int auto_configure;
	u64 max_cycles;

	float density_add;
	float density_addi;
	float density_lw;
	float density_sw;
	float density_beq;
	float density_jmp;
	float density_reset;
	float density_noop;

//	int index_mask_read;
//	int index_mask_write;

//	int data_mask_write;
//	int data_mask_search;

	int reg_read_index_mask;
	int reg_write_index_mask;
	int addi_mask;
	int data_read_index_mask;
	int data_write_index_mask;
	int inst_read_index_mask;

} params;

int get_options();
void default_params();
int read_params(char *s);
char *read_params_file(char *s);
void auto_configure();
void print_params();

#endif
